-
-
Notifications
You must be signed in to change notification settings - Fork 665
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
respect global strip config #3527
respect global strip config #3527
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me, including the addition of the -s
flag.
Given the very terse descriptions of the -s
and -w
flags in the go tool link
documentation, could you add a test that verifies that stack traces in panics still have all the expected information?
Ideally that test would also check that stripping is enabled when it should be, which would probably have caught the typo below.
Yes! I'll try to get to it very soon.
Do you know any simple, platform agnostic way to validate this? As far as I know, checking for a stripped binary involves parsing the OS-specific binary format (ELF, MACH-O, PE). |
From go docs: -s Omit the symbol table and debug information. -w Omit the DWARF symbol table.
I implemented tests for ELF, MACH-O and PE. The checks for debug symbols in the resulting binaries are not very good and could certainly be improved if desired. I'm not sure where to go with this or what to test for in particular. I also added tests to trigger a panic, recover from it and compare the stack trace against a known good stack trace. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great test coverage. That will make it much easier to maintain this feature.
I see that the windows run is failing, but everything else looks good.
EDIT: should work now. This is the difference in output of --- <unnamed>
+++ <unnamed>
@@ -13,7 +13,7 @@
IMAGE_SCN_MEM_READ
Section
Name: .rdata
- Virtual Size: 0x9e3b0 (648112 bytes)
+ Virtual Size: 0x9e3d0 (648144 bytes)
Virtual Address: 0x8f000
Size Of Raw Data: 0x9e400 (648192 bytes)
Pointer To Raw Data: 0x8d800
@@ -24,7 +24,7 @@
IMAGE_SCN_MEM_READ
Section
Name: .data
- Virtual Size: 0x6f350 (455504 bytes)
+ Virtual Size: 0x6f370 (455536 bytes)
Virtual Address: 0x12e000
Size Of Raw Data: 0x17a00 (96768 bytes)
Pointer To Raw Data: 0x12bc00
@@ -35,95 +35,11 @@
IMAGE_SCN_MEM_READ
IMAGE_SCN_MEM_WRITE
Section
- Name: /4
- Virtual Size: 0x127 (295 bytes)
- Virtual Address: 0x19e000
- Size Of Raw Data: 0x200 (512 bytes)
- Pointer To Raw Data: 0x143600
- Number Of Relocations: 0
- Characteristics: 0x42100040
- Characteristic Names
- IMAGE_SCN_CNT_INITIALIZED_DATA
- IMAGE_SCN_MEM_DISCARDABLE
- IMAGE_SCN_MEM_READ
- Section
- Name: /19
- Virtual Size: 0x1df6b (122731 bytes)
- Virtual Address: 0x19f000
- Size Of Raw Data: 0x1e000 (122880 bytes)
- Pointer To Raw Data: 0x143800
- Number Of Relocations: 0
- Characteristics: 0x42100040
- Characteristic Names
- IMAGE_SCN_CNT_INITIALIZED_DATA
- IMAGE_SCN_MEM_DISCARDABLE
- IMAGE_SCN_MEM_READ
- Section
- Name: /32
- Virtual Size: 0x5a27 (23079 bytes)
- Virtual Address: 0x1bd000
- Size Of Raw Data: 0x5c00 (23552 bytes)
- Pointer To Raw Data: 0x161800
- Number Of Relocations: 0
- Characteristics: 0x42100040
- Characteristic Names
- IMAGE_SCN_CNT_INITIALIZED_DATA
- IMAGE_SCN_MEM_DISCARDABLE
- IMAGE_SCN_MEM_READ
- Section
- Name: /46
- Virtual Size: 0x2c (44 bytes)
- Virtual Address: 0x1c3000
- Size Of Raw Data: 0x200 (512 bytes)
- Pointer To Raw Data: 0x167400
- Number Of Relocations: 0
- Characteristics: 0x42100040
- Characteristic Names
- IMAGE_SCN_CNT_INITIALIZED_DATA
- IMAGE_SCN_MEM_DISCARDABLE
- IMAGE_SCN_MEM_READ
- Section
- Name: /65
- Virtual Size: 0x388f0 (231664 bytes)
- Virtual Address: 0x1c4000
- Size Of Raw Data: 0x38a00 (231936 bytes)
- Pointer To Raw Data: 0x167600
- Number Of Relocations: 0
- Characteristics: 0x42100040
- Characteristic Names
- IMAGE_SCN_CNT_INITIALIZED_DATA
- IMAGE_SCN_MEM_DISCARDABLE
- IMAGE_SCN_MEM_READ
- Section
- Name: /78
- Virtual Size: 0x1ccc3 (117955 bytes)
- Virtual Address: 0x1fd000
- Size Of Raw Data: 0x1ce00 (118272 bytes)
- Pointer To Raw Data: 0x1a0000
- Number Of Relocations: 0
- Characteristics: 0x42100040
- Characteristic Names
- IMAGE_SCN_CNT_INITIALIZED_DATA
- IMAGE_SCN_MEM_DISCARDABLE
- IMAGE_SCN_MEM_READ
- Section
- Name: /90
- Virtual Size: 0x974f (38735 bytes)
- Virtual Address: 0x21a000
- Size Of Raw Data: 0x9800 (38912 bytes)
- Pointer To Raw Data: 0x1bce00
- Number Of Relocations: 0
- Characteristics: 0x42100040
- Characteristic Names
- IMAGE_SCN_CNT_INITIALIZED_DATA
- IMAGE_SCN_MEM_DISCARDABLE
- IMAGE_SCN_MEM_READ
- Section
Name: .idata
Virtual Size: 0x490 (1168 bytes)
- Virtual Address: 0x224000
+ Virtual Address: 0x19e000
Size Of Raw Data: 0x600 (1536 bytes)
- Pointer To Raw Data: 0x1c6600
+ Pointer To Raw Data: 0x143600
Number Of Relocations: 0
Characteristics: 0xc0000040
Characteristic Names
@@ -133,9 +49,9 @@
Section
Name: .reloc
Virtual Size: 0x2f06 (12038 bytes)
- Virtual Address: 0x225000
+ Virtual Address: 0x19f000
Size Of Raw Data: 0x3000 (12288 bytes)
- Pointer To Raw Data: 0x1c6c00
+ Pointer To Raw Data: 0x143c00
Number Of Relocations: 0
Characteristics: 0x42000040
Characteristic Names
@@ -144,10 +60,10 @@
IMAGE_SCN_MEM_READ
Section
Name: .symtab
- Virtual Size: 0x17e7a (97914 bytes)
- Virtual Address: 0x228000
- Size Of Raw Data: 0x18000 (98304 bytes)
- Pointer To Raw Data: 0x1c9c00
+ Virtual Size: 0x4 (4 bytes)
+ Virtual Address: 0x1a2000
+ Size Of Raw Data: 0x200 (512 bytes)
+ Pointer To Raw Data: 0x146c00
Number Of Relocations: 0
Characteristics: 0x42000000
Characteristic Names |
Should there be a warning to users like @linzhp since we change the default mode to strip (as a result of respecting the global defaults)? |
Thanks for letting me know. We can pull this into Uber's Go repo and test it |
Should we also pass |
I'm not sure I can make a statement on the behavior with regards to the bazel cache when setting This discussion has some stats on the performance impact of dwarf generation: golang/go#38777 |
Bazel would rebuild everything when switching from On the other hand, I am thinking about add |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All tests passed in Uber, after some fixes removing the usage of the old strip flag, and using transitions to dbg mode when debug symbols are needed.
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) | http_archive | minor | `v0.39.1` -> `v0.40.0` | --- ### ⚠ Dependency Lookup Warnings ⚠ Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>bazelbuild/rules_go</summary> ### [`v0.40.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.40.0) [Compare Source](https://togithub.com/bazelbuild/rules_go/compare/v0.39.1...v0.40.0) #### What's Changed - Revert "Add automatic platform detection from inbound crosstool_top a… by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3468](https://togithub.com/bazelbuild/rules_go/pull/3468) - bzlmod: Add dedicated documentation by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3519](https://togithub.com/bazelbuild/rules_go/pull/3519) - Create TEST_SHARD_STATUS_FILE when sharding tests by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3547](https://togithub.com/bazelbuild/rules_go/pull/3547) - Move CI flags to .bazelrc and fix BwoB build by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3551](https://togithub.com/bazelbuild/rules_go/pull/3551) - Re-enable go_path_test on RBE by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3539](https://togithub.com/bazelbuild/rules_go/pull/3539) - nogo: provide usage doc by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3534](https://togithub.com/bazelbuild/rules_go/pull/3534) - respect global strip config by [@​malt3](https://togithub.com/malt3) in [https://github.com/bazelbuild/rules_go/pull/3527](https://togithub.com/bazelbuild/rules_go/pull/3527) - stdliblist: return generated files by [@​grampelberg](https://togithub.com/grampelberg) in [https://github.com/bazelbuild/rules_go/pull/3552](https://togithub.com/bazelbuild/rules_go/pull/3552) - Fix formatting in nogo usage doc by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3557](https://togithub.com/bazelbuild/rules_go/pull/3557) - Fix `goexperiment.*` build tags by [@​lbcjbb](https://togithub.com/lbcjbb) in [https://github.com/bazelbuild/rules_go/pull/3556](https://togithub.com/bazelbuild/rules_go/pull/3556) - Remove tests for `go_path`'s `link` mode by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3565](https://togithub.com/bazelbuild/rules_go/pull/3565) - Fix tests with `--incompatible_disable_starlark_host_transitions` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3560](https://togithub.com/bazelbuild/rules_go/pull/3560) - Create empty `.go` file in a random location by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3566](https://togithub.com/bazelbuild/rules_go/pull/3566) - gopackagesdriver: fix interface to work with golangci-lint ([#​3523](https://togithub.com/bazelbuild/rules_go/issues/3523)) by [@​grampelberg](https://togithub.com/grampelberg) in [https://github.com/bazelbuild/rules_go/pull/3524](https://togithub.com/bazelbuild/rules_go/pull/3524) - Fix typo in load statement for bzlmod docs by [@​Sovietaced](https://togithub.com/Sovietaced) in [https://github.com/bazelbuild/rules_go/pull/3570](https://togithub.com/bazelbuild/rules_go/pull/3570) - context: remove unused import by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3571](https://togithub.com/bazelbuild/rules_go/pull/3571) - docs: Mention `use_repo` automation by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3573](https://togithub.com/bazelbuild/rules_go/pull/3573) - Test basic-gazelle example with incompatible flags by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3575](https://togithub.com/bazelbuild/rules_go/pull/3575) - go_sdk extension: create `go_host_compatible_sdk` repository by [@​ylecornec](https://togithub.com/ylecornec) in [https://github.com/bazelbuild/rules_go/pull/3543](https://togithub.com/bazelbuild/rules_go/pull/3543) - docs: Mention that `gazelle:prefix` can be replaced by `go.mod` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3577](https://togithub.com/bazelbuild/rules_go/pull/3577) - go_download_sdk: apply extraction workaround to zips on non-windows OSs by [@​jayconrod](https://togithub.com/jayconrod) in [https://github.com/bazelbuild/rules_go/pull/3563](https://togithub.com/bazelbuild/rules_go/pull/3563) - Fix `go_download_sdk` with Bazel dev versions by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3580](https://togithub.com/bazelbuild/rules_go/pull/3580) - Implement //nolint parsing similar to golangci-lint by [@​patrickmscott](https://togithub.com/patrickmscott) in [https://github.com/bazelbuild/rules_go/pull/3562](https://togithub.com/bazelbuild/rules_go/pull/3562) #### New Contributors - [@​bricedp](https://togithub.com/bricedp) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3512](https://togithub.com/bazelbuild/rules_go/pull/3512) - [@​patrickmscott](https://togithub.com/patrickmscott) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3528](https://togithub.com/bazelbuild/rules_go/pull/3528) - [@​grampelberg](https://togithub.com/grampelberg) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3552](https://togithub.com/bazelbuild/rules_go/pull/3552) - [@​Sovietaced](https://togithub.com/Sovietaced) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3570](https://togithub.com/bazelbuild/rules_go/pull/3570) - [@​ylecornec](https://togithub.com/ylecornec) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3543](https://togithub.com/bazelbuild/rules_go/pull/3543) **Full Changelog**: bazel-contrib/rules_go@v0.39.1...v0.40.0 #### `WORKSPACE` code load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "io_bazel_rules_go", sha256 = "bfc5ce70b9d1634ae54f4e7b495657a18a04e0d596785f672d35d5f505ab491a", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip", "https://github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip", ], ) load("@​io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") go_rules_dependencies() go_register_toolchains(version = "1.20.5") </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/kreempuff/rules_unreal_engine). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMzEuMCIsInVwZGF0ZWRJblZlciI6IjM1LjEzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) | http_archive | minor | `v0.39.1` -> `v0.40.0` | --- ### Release Notes <details> <summary>bazelbuild/rules_go</summary> ### [`v0.40.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.40.0) [Compare Source](https://togithub.com/bazelbuild/rules_go/compare/v0.39.1...v0.40.0) #### What's Changed - Revert "Add automatic platform detection from inbound crosstool_top a… by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3468](https://togithub.com/bazelbuild/rules_go/pull/3468) - bzlmod: Add dedicated documentation by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3519](https://togithub.com/bazelbuild/rules_go/pull/3519) - Create TEST_SHARD_STATUS_FILE when sharding tests by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3547](https://togithub.com/bazelbuild/rules_go/pull/3547) - Move CI flags to .bazelrc and fix BwoB build by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3551](https://togithub.com/bazelbuild/rules_go/pull/3551) - Re-enable go_path_test on RBE by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3539](https://togithub.com/bazelbuild/rules_go/pull/3539) - nogo: provide usage doc by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3534](https://togithub.com/bazelbuild/rules_go/pull/3534) - respect global strip config by [@​malt3](https://togithub.com/malt3) in [https://github.com/bazelbuild/rules_go/pull/3527](https://togithub.com/bazelbuild/rules_go/pull/3527) - stdliblist: return generated files by [@​grampelberg](https://togithub.com/grampelberg) in [https://github.com/bazelbuild/rules_go/pull/3552](https://togithub.com/bazelbuild/rules_go/pull/3552) - Fix formatting in nogo usage doc by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3557](https://togithub.com/bazelbuild/rules_go/pull/3557) - Fix `goexperiment.*` build tags by [@​lbcjbb](https://togithub.com/lbcjbb) in [https://github.com/bazelbuild/rules_go/pull/3556](https://togithub.com/bazelbuild/rules_go/pull/3556) - Remove tests for `go_path`'s `link` mode by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3565](https://togithub.com/bazelbuild/rules_go/pull/3565) - Fix tests with `--incompatible_disable_starlark_host_transitions` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3560](https://togithub.com/bazelbuild/rules_go/pull/3560) - Create empty `.go` file in a random location by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3566](https://togithub.com/bazelbuild/rules_go/pull/3566) - gopackagesdriver: fix interface to work with golangci-lint ([#​3523](https://togithub.com/bazelbuild/rules_go/issues/3523)) by [@​grampelberg](https://togithub.com/grampelberg) in [https://github.com/bazelbuild/rules_go/pull/3524](https://togithub.com/bazelbuild/rules_go/pull/3524) - Fix typo in load statement for bzlmod docs by [@​Sovietaced](https://togithub.com/Sovietaced) in [https://github.com/bazelbuild/rules_go/pull/3570](https://togithub.com/bazelbuild/rules_go/pull/3570) - context: remove unused import by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3571](https://togithub.com/bazelbuild/rules_go/pull/3571) - docs: Mention `use_repo` automation by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3573](https://togithub.com/bazelbuild/rules_go/pull/3573) - Test basic-gazelle example with incompatible flags by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3575](https://togithub.com/bazelbuild/rules_go/pull/3575) - go_sdk extension: create `go_host_compatible_sdk` repository by [@​ylecornec](https://togithub.com/ylecornec) in [https://github.com/bazelbuild/rules_go/pull/3543](https://togithub.com/bazelbuild/rules_go/pull/3543) - docs: Mention that `gazelle:prefix` can be replaced by `go.mod` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3577](https://togithub.com/bazelbuild/rules_go/pull/3577) - go_download_sdk: apply extraction workaround to zips on non-windows OSs by [@​jayconrod](https://togithub.com/jayconrod) in [https://github.com/bazelbuild/rules_go/pull/3563](https://togithub.com/bazelbuild/rules_go/pull/3563) - Fix `go_download_sdk` with Bazel dev versions by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3580](https://togithub.com/bazelbuild/rules_go/pull/3580) - Implement //nolint parsing similar to golangci-lint by [@​patrickmscott](https://togithub.com/patrickmscott) in [https://github.com/bazelbuild/rules_go/pull/3562](https://togithub.com/bazelbuild/rules_go/pull/3562) #### New Contributors - [@​bricedp](https://togithub.com/bricedp) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3512](https://togithub.com/bazelbuild/rules_go/pull/3512) - [@​patrickmscott](https://togithub.com/patrickmscott) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3528](https://togithub.com/bazelbuild/rules_go/pull/3528) - [@​grampelberg](https://togithub.com/grampelberg) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3552](https://togithub.com/bazelbuild/rules_go/pull/3552) - [@​Sovietaced](https://togithub.com/Sovietaced) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3570](https://togithub.com/bazelbuild/rules_go/pull/3570) - [@​ylecornec](https://togithub.com/ylecornec) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3543](https://togithub.com/bazelbuild/rules_go/pull/3543) **Full Changelog**: bazel-contrib/rules_go@v0.39.1...v0.40.0 #### `WORKSPACE` code load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "io_bazel_rules_go", sha256 = "bfc5ce70b9d1634ae54f4e7b495657a18a04e0d596785f672d35d5f505ab491a", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip", "https://github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip", ], ) load("@​io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") go_rules_dependencies() go_register_toolchains(version = "1.20.5") </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/cgrindel/rules_swift_package_manager). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMzEuMCIsInVwZGF0ZWRJblZlciI6IjM1LjEzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) | http_archive | minor | `v0.39.1` -> `v0.40.0` | --- ### Release Notes <details> <summary>bazelbuild/rules_go</summary> ### [`v0.40.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.40.0) [Compare Source](https://togithub.com/bazelbuild/rules_go/compare/v0.39.1...v0.40.0) #### What's Changed - Revert "Add automatic platform detection from inbound crosstool_top a… by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3468](https://togithub.com/bazelbuild/rules_go/pull/3468) - bzlmod: Add dedicated documentation by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3519](https://togithub.com/bazelbuild/rules_go/pull/3519) - Create TEST_SHARD_STATUS_FILE when sharding tests by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3547](https://togithub.com/bazelbuild/rules_go/pull/3547) - Move CI flags to .bazelrc and fix BwoB build by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3551](https://togithub.com/bazelbuild/rules_go/pull/3551) - Re-enable go_path_test on RBE by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3539](https://togithub.com/bazelbuild/rules_go/pull/3539) - nogo: provide usage doc by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3534](https://togithub.com/bazelbuild/rules_go/pull/3534) - respect global strip config by [@​malt3](https://togithub.com/malt3) in [https://github.com/bazelbuild/rules_go/pull/3527](https://togithub.com/bazelbuild/rules_go/pull/3527) - stdliblist: return generated files by [@​grampelberg](https://togithub.com/grampelberg) in [https://github.com/bazelbuild/rules_go/pull/3552](https://togithub.com/bazelbuild/rules_go/pull/3552) - Fix formatting in nogo usage doc by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3557](https://togithub.com/bazelbuild/rules_go/pull/3557) - Fix `goexperiment.*` build tags by [@​lbcjbb](https://togithub.com/lbcjbb) in [https://github.com/bazelbuild/rules_go/pull/3556](https://togithub.com/bazelbuild/rules_go/pull/3556) - Remove tests for `go_path`'s `link` mode by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3565](https://togithub.com/bazelbuild/rules_go/pull/3565) - Fix tests with `--incompatible_disable_starlark_host_transitions` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3560](https://togithub.com/bazelbuild/rules_go/pull/3560) - Create empty `.go` file in a random location by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3566](https://togithub.com/bazelbuild/rules_go/pull/3566) - gopackagesdriver: fix interface to work with golangci-lint ([#​3523](https://togithub.com/bazelbuild/rules_go/issues/3523)) by [@​grampelberg](https://togithub.com/grampelberg) in [https://github.com/bazelbuild/rules_go/pull/3524](https://togithub.com/bazelbuild/rules_go/pull/3524) - Fix typo in load statement for bzlmod docs by [@​Sovietaced](https://togithub.com/Sovietaced) in [https://github.com/bazelbuild/rules_go/pull/3570](https://togithub.com/bazelbuild/rules_go/pull/3570) - context: remove unused import by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3571](https://togithub.com/bazelbuild/rules_go/pull/3571) - docs: Mention `use_repo` automation by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3573](https://togithub.com/bazelbuild/rules_go/pull/3573) - Test basic-gazelle example with incompatible flags by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3575](https://togithub.com/bazelbuild/rules_go/pull/3575) - go_sdk extension: create `go_host_compatible_sdk` repository by [@​ylecornec](https://togithub.com/ylecornec) in [https://github.com/bazelbuild/rules_go/pull/3543](https://togithub.com/bazelbuild/rules_go/pull/3543) - docs: Mention that `gazelle:prefix` can be replaced by `go.mod` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3577](https://togithub.com/bazelbuild/rules_go/pull/3577) - go_download_sdk: apply extraction workaround to zips on non-windows OSs by [@​jayconrod](https://togithub.com/jayconrod) in [https://github.com/bazelbuild/rules_go/pull/3563](https://togithub.com/bazelbuild/rules_go/pull/3563) - Fix `go_download_sdk` with Bazel dev versions by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3580](https://togithub.com/bazelbuild/rules_go/pull/3580) - Implement //nolint parsing similar to golangci-lint by [@​patrickmscott](https://togithub.com/patrickmscott) in [https://github.com/bazelbuild/rules_go/pull/3562](https://togithub.com/bazelbuild/rules_go/pull/3562) #### New Contributors - [@​bricedp](https://togithub.com/bricedp) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3512](https://togithub.com/bazelbuild/rules_go/pull/3512) - [@​patrickmscott](https://togithub.com/patrickmscott) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3528](https://togithub.com/bazelbuild/rules_go/pull/3528) - [@​grampelberg](https://togithub.com/grampelberg) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3552](https://togithub.com/bazelbuild/rules_go/pull/3552) - [@​Sovietaced](https://togithub.com/Sovietaced) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3570](https://togithub.com/bazelbuild/rules_go/pull/3570) - [@​ylecornec](https://togithub.com/ylecornec) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3543](https://togithub.com/bazelbuild/rules_go/pull/3543) **Full Changelog**: bazel-contrib/rules_go@v0.39.1...v0.40.0 #### `WORKSPACE` code load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "io_bazel_rules_go", sha256 = "bfc5ce70b9d1634ae54f4e7b495657a18a04e0d596785f672d35d5f505ab491a", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip", "https://github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip", ], ) load("@​io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") go_rules_dependencies() go_register_toolchains(version = "1.20.5") </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/cgrindel/bazel-starlib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMzEuMCIsInVwZGF0ZWRJblZlciI6IjM1LjEzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
What type of PR is this?
Bug fix
What does this PR do? Why is it needed?
The docs currently state:
This is not true. This option cannot be set at all (as far as I can tell). It is currently not exposed as a config flag and the global bazel option for stripping is not considered either.
This PR removes the
@io_bazel_rules_go//go/config:strip
config setting and always uses the global bazel setting--strip
and--compilation_mode
to deduce if stripping should be enabled.As a little extension, I also changed the linker flags to also include
-s
if stripping is enabled.Which issues(s) does this PR fix?
Fixes #3325
Other notes for review
This is one possible resolution. See also #3526 for an alternative solution that exposes this setting as a flag.